package com.ssy.lingxi.purchase.api.enums;

import com.ssy.lingxi.common.language.LanguageHolder;

/**
* 内部单据流转记录
* @author wrc
* @date 2020/11/2
*/
public enum ProcurementOrderInteriorStateEnum {

    CANCEL_ORDER(-1,"取消订单","取消订单"),

    ADD_ORDER(1,"待提交审核","新增订单"),

    SUBMIT_EXAMINE(2,"提交审核通过","提交审核"),

    EXAMINE_ORDER_ONE(3,"审核通过(一级)","审核订单(一级)"),

    EXAMINE_ORDER_TWO(4,"审核通过(二级)","审核订单(二级)"),

    SUBMIT_ORDER(5,"审核通过","提交订单"),

    SUBMIT_ORDER_COMPLETE(6,"已确认电子合同","确认电子合同"),

    EXAMINE_ORDER_ONE_NOT(7,"审核不通过(一级)","审核不通过(一级)"),

    EXAMINE_ORDER_TWO_NOT(8,"审核不通过(二级)","审核不通过(二级)"),

    ORDER_PAY_SUCCESS(9,"支付成功","订单支付"),

    ORDER_PAY_ERROR(10,"支付失败","订单支付"),


    ADD_PURCHASE_STOCK_IN_DOCUMENT(11,"已审核采购入库单","新增采购入库单"),


    CONFIRM_RECEIPT(12,"已确认收货","订单收货确认"),

    ORDER_WAREHOUSING(13,"订单归档完成","订单归档"),

    ORDER_UPDATE(14,"修改订单","修改订单"),

    MANUAL_RECEIPT(15,"手工收货","手工收货")
    ;

    /**
     *状态
     */
    private Integer state;


    /**
     *描述
     */
    private String details;


    /**
     *操作
     */
    private String operation;

    ProcurementOrderInteriorStateEnum() {
    }

    ProcurementOrderInteriorStateEnum(Integer state, String details, String operation) {
        this.state = state;
        this.details = details;
        this.operation = operation;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getDetails() {
        return LanguageHolder.getName(this.getClass(), this.state);
    }

    public void setDetails(String details) {
        this.details = details;
    }
}
